home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’97 / Warrior’s Progress / source code / Source / Libraries / Drawing / Clipper.cp < prev    next >
Encoding:
Text File  |  1997-06-28  |  1.3 KB  |  110 lines  |  [TEXT/CWIE]

  1. // Clipper.cp
  2.  
  3. #ifndef Clipper_h
  4. #include "Clipper.h"
  5. #endif
  6.  
  7. Clipper::Clipper()
  8.   {
  9.     GetClip( saved );
  10.     current = saved;
  11.   }
  12.  
  13. Clipper::Clipper( RgnHandle r )
  14.   {
  15.     GetClip( saved );
  16.     current = saved;
  17.     current &= r;
  18.     Clip();
  19.   }
  20.  
  21. Clipper::Clipper( const Rect& r )
  22.   {
  23.     GetClip( saved );
  24.     current = saved;
  25.     current &= r;
  26.     Clip();
  27.   }
  28.  
  29. Clipper::Clipper( const Clipper& c )
  30.   {
  31.     GetClip( saved );
  32.     current = saved;
  33.     current &= c.current;
  34.     Clip();
  35.   }
  36.  
  37. Clipper::~Clipper()
  38.   {
  39.     SetClip( saved );
  40.   }
  41.  
  42. void Clipper::BeEmpty()
  43.   {
  44.     current.BeEmpty();
  45.     Clip();
  46.   }
  47.  
  48. void Clipper::Restore()
  49.   {
  50.     current = saved;
  51.     Clip();
  52.   }
  53.  
  54. void Clipper::operator=( const Rect& r )
  55.   {
  56.     current = saved;
  57.     current &= r;
  58.     Clip();
  59.   }
  60.  
  61. void Clipper::operator=( RgnHandle r )
  62.   {
  63.     current = saved;
  64.     current &= r;
  65.     Clip();
  66.   }
  67.  
  68. void Clipper::operator=( const Clipper& r )
  69.   {
  70.     current = saved;
  71.     current &= r.current;
  72.     Clip();
  73.   }
  74.  
  75. void Clipper::operator&=( const Rect& r )
  76.   {
  77.     current &= r;
  78.     Clip();
  79.   }
  80.  
  81. void Clipper::operator-=( const Rect& r )
  82.   {
  83.     current -= r;
  84.     Clip();
  85.   }
  86.  
  87. void Clipper::operator&=( RgnHandle r )
  88.   {
  89.     current &= r;
  90.     Clip();
  91.   }
  92.  
  93. void Clipper::operator-=( RgnHandle r )
  94.   {
  95.     current -= r;
  96.     Clip();
  97.   }
  98.  
  99. void Clipper::Inset( int16 amount )
  100.   {
  101.     current.Inset( amount );
  102.     Clip();
  103.   }
  104.  
  105. void Clipper::Inset( Point amount )
  106.   {
  107.     current.Inset( amount );
  108.     Clip();
  109.   }
  110.